Some backup systems backup data as opaque data blocks. For example. data blocks comprising the data to be backed up are backed up as one or more groups of data blocks that are not necessarily related to each other on an application-level. Typically multiple backup streams are written at the same time, and application-level related data blocks are split into different groups to be written by different backup streams. Since the backup system does not retain knowledge of the application-level relationships, related groups of data blocks can become separated (e.g., placed in different backup medias, some blocks migrated offsite while other blocks related to the migrated blocks at the application level remain onsite, etc.), causing subsequent processing of related groups of backed up data blocks to become inefficient. Therefore, there exists a need to more efficiently manage the storage and migration of data blocks that are related on an application-level.